package com.example.smartcity.adapter;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;

import androidx.viewpager.widget.ViewPager;

// 自定义一个不可滚动的ViewPager
public class NoScrollViewPager extends ViewPager {
    // 控制ViewPager是否可以滚动的标志位
    public boolean canScroll = false;

    // 构造方法1，传入上下文和属性集
    public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    // 构造方法2，传入上下文
    public NoScrollViewPager(Context context) {
        super(context);
    }

    // 重写onTouchEvent方法，只有当canScroll为true时，ViewPager才能响应触摸事件
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        return canScroll && super.onTouchEvent(ev);
    }

    // 重写onInterceptTouchEvent方法，只有当canScroll为true时，ViewPager才能拦截触摸事件
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        return canScroll && super.onInterceptTouchEvent(ev);
    }

    // 重写setCurrentItem方法，设置当前显示的页面，第二个参数表示是否平滑滚动，这里设置为false，即不平滑滚动
    @Override
    public void setCurrentItem(int item) {
        setCurrentItem(item, false);
    }
}
